/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package picstore.web.fabricante;

import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author Daniel
 */
public class FabricanteDAOHibernate implements FabricanteDAO{
    
    private Session session;
    
    public void setSession(Session session){
        this.session = session;
    }

    @Override
    public void salvar(Fabricante fabricante) {
        this.session.save(fabricante);
    }

    @Override
    public void atualizar(Fabricante fabricante) {
        this.session.update(fabricante);
    }

    @Override
    public void excluir(Fabricante fabricante) {
        this.session.delete(fabricante);
    }

    @Override
    public Fabricante carregar(Integer codigo) {
        return (Fabricante) this.session.get(Fabricante.class, codigo);
    }

    @Override
    public Fabricante buscarPorNome(String nome) {
        String hql = "select u from Fabricante u where u.fb_nome = :nome";
        Query consulta= this.session.createQuery(hql);
        consulta.setString("nome", nome);
        return (Fabricante) consulta.uniqueResult(); 
    }

    @Override
    public List<Fabricante> listar() {
        return this.session.createCriteria(Fabricante.class).list();
    }
            
    
}
